/////////////////////////////////////////////////////////////////////////
//
// Amuse Engine SDK - geometry/mesh
// Copyright( c) 2015.  All Rights Reserved
//
// File:		AEStaticSubmesh.h
// Author:		Gianluca Belardelli
// Date:		05/05/2015
//
/////////////////////////////////////////////////////////////////////////
#ifndef _AESTATICSUBMESH_H_
#define _AESTATICSUBMESH_H_

class AEStaticMesh;

/// \brief La classe rappresenta un sotto insieme renderizzabile di una Mesh statica.
/// Le Submesh possono avere associati un unico materiale una sola Lightmap. Ogni Submesh
/// dovrebbe essere renderizzabile con una singola chiamata alla API di rendering e pu&ograve;
/// referenziare fino a un massimo 32767 vertici presenti nell'istanza della Mesh statica.
/// Gli oggetti di tipo AEStaticSubmesh non possono essere creati direttamente e non contengono
/// dati geometrici reali ma solamente una referenza alla Mesh di cui fanno parte.
class AEStaticSubmesh : public AEBaseSubmesh
{
	friend class AEStaticMesh;
protected:
	AEStaticSubmesh( void );

public:
	/// \brief Distruttore.
	virtual ~AEStaticSubmesh( void );

	/// \brief Ritorna la Mesh statica si cui questa Submesh fa parte.
	AE_FORCEINLINE AEStaticMesh *GetMesh( void ) const;
};

#include "AEStaticSubmesh.inl"

#endif // _AESTATICSUBMESH_H_

